/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package net.jonbuck.tassoo.model;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Tassoo</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getAttachmentTypes <em>Attachment Types</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getCategories <em>Categories</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getContainers <em>Containers</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getDescription <em>Description</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getFilePath <em>File Path</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getName <em>Name</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getPriorities <em>Priorities</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getStatuses <em>Statuses</em>}</li>
 *   <li>{@link net.jonbuck.tassoo.model.Tassoo#getTypes <em>Types</em>}</li>
 * </ul>
 * </p>
 *
 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo()
 * @model
 * @generated
 */
public interface Tassoo extends EObject {
	/**
	 * Returns the value of the '<em><b>Attachment Types</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Attachment Types</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Attachment Types</em>' containment reference.
	 * @see #setAttachmentTypes(AttachmentTypes)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_AttachmentTypes()
	 * @model containment="true" required="true"
	 * @generated
	 */
	AttachmentTypes getAttachmentTypes();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getAttachmentTypes <em>Attachment Types</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Attachment Types</em>' containment reference.
	 * @see #getAttachmentTypes()
	 * @generated
	 */
	void setAttachmentTypes(AttachmentTypes value);

	/**
	 * Returns the value of the '<em><b>Description</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Description</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Description</em>' attribute.
	 * @see #setDescription(String)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Description()
	 * @model required="true"
	 * @generated
	 */
	String getDescription();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getDescription <em>Description</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Description</em>' attribute.
	 * @see #getDescription()
	 * @generated
	 */
	void setDescription(String value);

	/**
	 * Returns the value of the '<em><b>File Path</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>File Path</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>File Path</em>' attribute.
	 * @see #setFilePath(String)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_FilePath()
	 * @model required="true"
	 * @generated
	 */
	String getFilePath();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getFilePath <em>File Path</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>File Path</em>' attribute.
	 * @see #getFilePath()
	 * @generated
	 */
	void setFilePath(String value);

	/**
	 * Returns the value of the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Name</em>' attribute.
	 * @see #setName(String)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Name()
	 * @model required="true"
	 * @generated
	 */
	String getName();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getName <em>Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Name</em>' attribute.
	 * @see #getName()
	 * @generated
	 */
	void setName(String value);

	/**
	 * Returns the value of the '<em><b>Containers</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Containers</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Containers</em>' containment reference.
	 * @see #setContainers(Containers)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Containers()
	 * @model containment="true" required="true"
	 * @generated
	 */
	Containers getContainers();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getContainers <em>Containers</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Containers</em>' containment reference.
	 * @see #getContainers()
	 * @generated
	 */
	void setContainers(Containers value);

	/**
	 * Returns the value of the '<em><b>Categories</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Categories</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Categories</em>' containment reference.
	 * @see #setCategories(Categories)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Categories()
	 * @model containment="true" required="true"
	 * @generated
	 */
	Categories getCategories();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getCategories <em>Categories</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Categories</em>' containment reference.
	 * @see #getCategories()
	 * @generated
	 */
	void setCategories(Categories value);

	/**
	 * Returns the value of the '<em><b>Priorities</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Priorities</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Priorities</em>' containment reference.
	 * @see #setPriorities(Priorities)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Priorities()
	 * @model containment="true" required="true"
	 * @generated
	 */
	Priorities getPriorities();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getPriorities <em>Priorities</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Priorities</em>' containment reference.
	 * @see #getPriorities()
	 * @generated
	 */
	void setPriorities(Priorities value);

	/**
	 * Returns the value of the '<em><b>Statuses</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Statuses</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Statuses</em>' containment reference.
	 * @see #setStatuses(Statuses)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Statuses()
	 * @model containment="true" required="true"
	 * @generated
	 */
	Statuses getStatuses();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getStatuses <em>Statuses</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Statuses</em>' containment reference.
	 * @see #getStatuses()
	 * @generated
	 */
	void setStatuses(Statuses value);

	/**
	 * Returns the value of the '<em><b>Types</b></em>' containment reference.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Types</em>' containment reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Types</em>' containment reference.
	 * @see #setTypes(Types)
	 * @see net.jonbuck.tassoo.model.TassooPackage#getTassoo_Types()
	 * @model containment="true" required="true"
	 * @generated
	 */
	Types getTypes();

	/**
	 * Sets the value of the '{@link net.jonbuck.tassoo.model.Tassoo#getTypes <em>Types</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Types</em>' containment reference.
	 * @see #getTypes()
	 * @generated
	 */
	void setTypes(Types value);

} // Tassoo
